Users of physical or virtual machines commonly install software packages, including package updates, to physical or virtual machines. The software packages can contain a set of related files chosen to perform a given application or task, such as, for example, a group of software applications, drivers, and/or other resources used to install and use messaging or media applications. In instances, a software package can contain application software, operating system software, drivers, patches, and/or other software components grouped as a logical set. In implementations, the package can be stored or encoded as a single file or data object.
Software package update managers exist to help a user initiate and perform software package updates, such as, for example, the “yum” (Yellowdog update manager) package update manager and the Red Hat Network Satellite systems management platform, both available from Red Hat, Inc., Raleigh, N.C., and others. In general, available software package managers are configured to interact with the set of installed packages on a client and with one or more software package repositories, to directly connect to those databases and download available package updates.
The process of managing a software package development through a progression of development stages can be limited by a centralized server. In particular, the centralized server manages software packages in a development environment based on replication and/or duplication of software package versions. As such, customers or other users of a development environment are not able to isolate versions of software packages among the various development stages. Therefore, it may be desirable to provide systems and methods for managing versions of a software package. Further, it may be desirable to provide systems and methods for isolating versions of a software package among stages of a development environment.